{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Scaling to minimum and maximum values\n",
    "\n",
    "We saw in previous lectures that the magnitude of the variables affects different machine learning algorithms for different reasons. In this section, I will cover a few standard ways of squeezing the magnitude of the variables.\n",
    "\n",
    "\n",
    "Minimum and maximum scaling squeezes the values between 0 and 1. It subtracts the minimum value from all the observations, and then divides it by the range:\n",
    "\n",
    "X_scaled = (X - X.min / (X.max - X.min)\n",
    "\n",
    "The minimum maximum scaling method has the same disadvantage that standarisation, which is that it compresses the observations in the narrow range if the variable is very skewed or has outliers. \n",
    "\n",
    "For an overview of the different scaling methods check:\n",
    "http://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#sphx-glr-auto-examples-preprocessing-plot-all-scaling-py\n",
    "\n",
    "Let's demonstrate the MinMaxScaling method using scikit-learn.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "from sklearn.metrics import roc_auc_score\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "% matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>22.0</td>\n",
       "      <td>7.2500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>38.0</td>\n",
       "      <td>71.2833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>26.0</td>\n",
       "      <td>7.9250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>35.0</td>\n",
       "      <td>53.1000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>35.0</td>\n",
       "      <td>8.0500</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass   Age     Fare\n",
       "0         0       3  22.0   7.2500\n",
       "1         1       1  38.0  71.2833\n",
       "2         1       3  26.0   7.9250\n",
       "3         1       1  35.0  53.1000\n",
       "4         0       3  35.0   8.0500"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# load the numerical variables of the Titanic Dataset\n",
    "\n",
    "data = pd.read_csv('titanic.csv', usecols = ['Pclass', 'Age', 'Fare', 'Survived'])\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>714.000000</td>\n",
       "      <td>891.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>0.383838</td>\n",
       "      <td>2.308642</td>\n",
       "      <td>29.699118</td>\n",
       "      <td>32.204208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.486592</td>\n",
       "      <td>0.836071</td>\n",
       "      <td>14.526497</td>\n",
       "      <td>49.693429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.420000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>20.125000</td>\n",
       "      <td>7.910400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>14.454200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>38.000000</td>\n",
       "      <td>31.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>512.329200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         Survived      Pclass         Age        Fare\n",
       "count  891.000000  891.000000  714.000000  891.000000\n",
       "mean     0.383838    2.308642   29.699118   32.204208\n",
       "std      0.486592    0.836071   14.526497   49.693429\n",
       "min      0.000000    1.000000    0.420000    0.000000\n",
       "25%      0.000000    2.000000   20.125000    7.910400\n",
       "50%      0.000000    3.000000   28.000000   14.454200\n",
       "75%      1.000000    3.000000   38.000000   31.000000\n",
       "max      1.000000    3.000000   80.000000  512.329200"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# let's have a look at the values of those variables to get an idea of the magnitudes\n",
    "\n",
    "data.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see from the above statistics table that the magnitudes of the variables are different. The mean values and medians are different as well as the maximum values and the range over which the values are spread."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Survived      0\n",
       "Pclass        0\n",
       "Age         177\n",
       "Fare          0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check missing data\n",
    "\n",
    "data.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Age contains missing information, so I will fill those observations with the median in the next cell."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((623, 3), (268, 3))"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# let's separate into training and testing set\n",
    "X_train, X_test, y_train, y_test = train_test_split(data[['Pclass', 'Age', 'Fare']],\n",
    "                                                    data.Survived, test_size=0.3,\n",
    "                                                    random_state=0)\n",
    "X_train.shape, X_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# fill missing data with the Age median\n",
    "\n",
    "X_train.Age.fillna(X_train.Age.median(), inplace=True)\n",
    "X_test.Age.fillna(X_train.Age.median(), inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Min_max_scaling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# this scales the features between 0 and 1.\n",
    "\n",
    "scaler = MinMaxScaler() # create an instance\n",
    "X_train_scaled = scaler.fit_transform(X_train) #  fit  the scaler to the train set and then transform it\n",
    "X_test_scaled = scaler.transform(X_test) # transform (scale) the test set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "means (Pclass, Age and Fare):  [ 0.64365971  0.36641321  0.06335433]\n",
      "std (Pclass, Age and Fare):  [ 0.41999093  0.16405255  0.09411705]\n"
     ]
    }
   ],
   "source": [
    "#let's have a look at the scaled training dataset: mean and standard deviation\n",
    "\n",
    "print('means (Pclass, Age and Fare): ', X_train_scaled.mean(axis=0))\n",
    "print('std (Pclass, Age and Fare): ', X_train_scaled.std(axis=0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After MinMaxScaling, the distributions are not centered in zero and the standard deviation is not 1 as when normalising the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Min values (Pclass, Age and Fare):  [ 0.  0.  0.]\n",
      "Max values (Pclass, Age and Fare):  [ 1.  1.  1.]\n"
     ]
    }
   ],
   "source": [
    "# let's look at the new minimum and maximum values\n",
    "\n",
    "print('Min values (Pclass, Age and Fare): ', X_train_scaled.min(axis=0))\n",
    "print('Max values (Pclass, Age and Fare): ', X_train_scaled.max(axis=0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But the minimum and maximum values are standarised across variables, different from what occurs with standarisation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([  30.,   10.,   10.,   19.,   52.,   67.,   56.,  183.,   56.,\n",
       "          34.,   28.,   25.,   18.,   10.,   10.,    7.,    3.,    3.,\n",
       "           1.,    1.]),\n",
       " array([ 0.  ,  0.05,  0.1 ,  0.15,  0.2 ,  0.25,  0.3 ,  0.35,  0.4 ,\n",
       "         0.45,  0.5 ,  0.55,  0.6 ,  0.65,  0.7 ,  0.75,  0.8 ,  0.85,\n",
       "         0.9 ,  0.95,  1.  ]),\n",
       " <a list of 20 Patch objects>)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6ef6eb5438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# let's look at the distributions of the transformed variables: Age\n",
    "\n",
    "plt.hist(X_train_scaled[:,1], bins=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 388.,  118.,   54.,   27.,   10.,   12.,    1.,    0.,    7.,\n",
       "           1.,    3.,    0.,    0.,    0.,    0.,    0.,    0.,    0.,\n",
       "           0.,    2.]),\n",
       " array([ 0.  ,  0.05,  0.1 ,  0.15,  0.2 ,  0.25,  0.3 ,  0.35,  0.4 ,\n",
       "         0.45,  0.5 ,  0.55,  0.6 ,  0.65,  0.7 ,  0.75,  0.8 ,  0.85,\n",
       "         0.9 ,  0.95,  1.  ]),\n",
       " <a list of 20 Patch objects>)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6ef83302b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# let's look at the distributions of the transformed variables: Fare\n",
    "\n",
    "plt.hist(X_train_scaled[:,2], bins=20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The variable Age has a somewhat normal distribution after the transformation, reflecting the approximately Gaussian distribution that shows the original variable. Fare on the other had shows a skewed distribution, which is also evidenced after variable transformation in the previous plot. In fact, we can see that the MinMaxScaling of Fare, shrinks the majority of the observations towards the lowest values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x6ef86b8dd8>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6ef86b8da0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# let's look at how transformed age looks like compared to the original variable\n",
    "\n",
    "sns.jointplot(X_train.Age, X_train_scaled[:,1], kind='kde')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x6ef86f52e8>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAGkCAYAAAB+TFE1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VPWh9/HvrFlmJhsJOwEM4IaKUFuoVQSkWEVpiywB\noVd4+ih1v+60VKwUpfbq01JRUVu9alXELvjSa6tXrdVaZREwICAIEZAlK8lMltnO80eSkUAgYbLM\nj+Tzfr3ymplzZs75zkmYL78zZ87YLMuyBABAgtkTHQAAAIlCAgAYgkICABiBQgIAGIFCAgAYgUIC\nABjBmegADcLhiMrKqhIdo0mZmanGZpPMzke2+JicTTI7n8nZcnJ8iY5gNGNGSE6nI+7Hfr6nXM/+\nbav81aE2TPS11mTrCCbnI1t8TM4mmZ3P5Gw4PmNGSPFav71Yj/6lQKFwVKFIVHMuPT3RkQAAcTBm\nhBSPDzft1+9e2SjLspTucev9jfu046tDiY4FAIjDSVtI/7t2j554dbPcLoemjRmkS0f2lyQ9//dt\ninI2JAA46Zx0hWRZlla9v1PPv7lNnmSnpo8drD45XvXr7tXp/TO1a3+l3t+4L9ExAQAn6KQqpKhl\n6YW3Ptdf3t+pdI9bMy4eou6ZKbH5Fw3rI7fTrpXvbm+3AxwAAO3jpCmkqGXpD699prfW7lF2erJm\nXDxEmb6kRvfxpbo0amhP+avD+ss/v0hQUgBAPE6aQtq8q1QfFOxXz6xU5Y8bLF+qq8n7fWNIjrLS\nkvTOJ3v15YHKDk4JAIjXSVNIa7YUSZLGnNtHKUnHPlrd4bBr3PC+sizpuTe3ia97AoCTw0lRSJFo\nVOu2FcmT7FSfbE+z9x/YK01D+qZr+55D+vemAx2QEADQWidFIW3bfUj+6pAG982Q3W5r0WPGDO8r\np8OmFe9sV3VtuJ0TAgBa66QopDVbD0qSTu2X0eLHpHvcGnlGTx0KBLXqg53tFQ0A0EaML6SoZWnd\ntiKlJDnUr7v3hB77zdO7K93j1ptr9uiAoSdbBADUMb6Qduw9pEP+oAb1afnuugZOh12jh/VWNGrp\nz+9xGDgAmMz4Qmo4uu7UfulxPf7UfhnqkZWijz87qML9HAYOAKYyupAsy9LarQeV5HKof4/4vkfE\nZrPponP6SJJWvru9LeMBANqQ0YW0c1+lSitrNahPmhyO+KP27+nTgJ4+bdpVpk27StswIQCgrRhd\nSGvrj64b0i+z1cu68JzekqSV7+7gbOAAYCBjC8myLK3ZelBup10De7X+a397ZqXqtNwMFe6v1Jot\nB9sgIQCgLRlbSLsP+lVUXqNTeqfJ2YrddYe74OzestukP733hcKRaJssEwDQNowtpDVbG46ua/mH\nYZuT6UvSOYOydbCsWv/c8FWbLRcA0HrGFtLaLQfldNg0sHdamy7322f2lMtp118/2KWaIKcUAgBT\nGFlIe4sD2ldapVN6pcntdLTpsj0pLp13WndVBIJ6c/XuNl02ACB+RhbS2i0NR9e13e66w513Wnel\nJjn1Px99qYqqYLusAwBwYowspDVbi+Sw25TXJ76zMzQnyeXQqDN7qCYY0dOvb+HrzgHAAMYV0oHS\nKu0p8mtAT5+SXG27u+5w5wzKVu9sj9ZvL9aCJz/Sum1F7bYuAEDzjCukeL5qIh5Oh10zxg3Whef0\nkr86pN/96VM99tcCduEBQIIc+7vAE2TN1iLZbdKgvu2zu+5wdrtNI8/oqcF9MvQ/H3+pjz87qM27\nyjRz/BB98/TustlO7OziAID4GTVC+uKrChXur9TAXmlKdndcV3ZLT9aMcYM19tw+qgmG9fiqTVr6\nyqfauKOEb5sFgA5i1AjprTV1h2GPODWnw9dtt9v0jdO6K69Put74+Eut316s9duLZbdJeX0zlNcr\nTUNyMzSkb7pSk10dng8AOjtjCqnkULU+3nJQ2enJcX/VRFvI9CVp+thBKjxQqS8P+LX7oF9f7D2k\nz3eX642Pv5RNUl7fdM367qkn/A22AIBjM6aQXv/XLkWjloYPyUn4ezc2m00DeqZpQM+6s0SkepL0\n2Y5ifXnQr90HK7V9zyHd98xqTRkzSBeP6JvwvADQGRhTSG98uEvJbofOHJCV6ChHcbsc6t/Tp/49\nfZJ6afveQ/qfj77UC299rk07SzXn0tOV5nEnOiYAnNSMOaihIhDUOXnZcjmNiXRMg/qk6+rvnaYB\nPX3auKNEC576SJ9+UZLoWABwUjPm1d9uk4YPyU50jBbzprg05aI8jTm3j6pqwnp4xQa98NbnCoUj\niY4GACclYwrpzLxs+VJPrt1eNptN553WXVd9d4iy0pL05prdWvzsWpVW1CQ6GgCcdIwppPPP6p3o\nCHHrkZmqH004TWedkqXCA3794pk12r73UKJjAcBJxZhCyu2ZuEO924LLadcl38zVuBF9VVkV1K/+\nuE4ffLov0bEA4KRhTCF1BjabTSOG5GjK6Dw5HXY99dpnWvH2dkWjVqKjAYDxKKR2MKBXmq4aX/e+\n0hsff6nfvrKRUxABQDMopHaSlZasq8YP0cD6Q8MX/fcaFe6vTHQsADAWhdSOkt1OTR6dp2+cmqN9\nJVW69+nV+s3LG7TjKw54AIAjGXOmhs7Kbrdp7PC+GtgrTf8q2K8NO0q0YUeJzhiQqcu/PUBD+mVw\n6iEAEIXUYQb2StOAnj7tLvLrw4ID2ryrTJt3lWlQ33R971u5yuuTLl+Kq8XlFI5EVVZZq5JDNfq0\nsEw795SrtKJGJYdqdCgQUqYvST2yUtQrK1U9s1LVIytVmb4kyg+AsSikDmSz2ZTb3afcsT59VRzQ\nh5v2a/ueQ1q651NJUmqSUz2yUtUzK6X+MlVul6OuaOrLprSiroTK/bU61rF7bqdde4r8+vSLI6a7\n7OrdzaPBfTM0pF+GhvRLb9MPI4fCER0KBFURCKkiEFRNKKyMtApV+mtkq3/+dlvdpTfVpZz0ZKV5\n3JQkAEkUUsL0zvZo8ug8HSir0me7ylRaWavSyhoVHqjUzn0Vx3yczSb5Ut3qk+NVmseldI9bPbO9\nctqkNI9baaluuZx21QTDKqusVWlF3XJLK2tVVlGr3Qf92rW/Um/Wf/dU72xPrJx6d/PI5bQryeWQ\ny2mX2+mQy2WXTVJ1bVglFbUqqaiJFWRpRa1KK2pUEQiqIhBUdfDET5vkctqVnZ6s7PQUZWckKyc9\nRT0yU9SzW6pyMlLkdPA2J9BVUEgJ1iMzVT0yU2O3o1FLhwLBujKprFE4HJXP41Z6fdl4U1yy2xuP\nKDIyUlVeXtVoWrLbqV7dnOrVzdNoejgS1b6SKu0+6NeeIr/2Fgf0VXFA736y95gZ7XbbMT9LZbPV\njey8qS71yEpVapJTqclOeZJdcrscSklxqaoqKEuSZVmyLClqWaqqCetQIKhD/lqVVdZqX0nVUcu2\n26TsjBT1bNjtmJmi7IyU+gJLlsvpaG7zAjiJUEiGsdttyvQlKdOXpFOU1ubLdzrs6tfdG/tywUjU\n0sGyuoKqrAopFIkqHIkqHI4qHLFit1OTnLERmC/VFbveVEEerqmybEptMKJDgVqV++vLuKKmftRY\nq4NlJdq44+izqad73cpOrxtVdasvqYbC6paW3KGjK8uyZEmys/sRiBuF1MU57Db16uY5aiTV0ZLc\nDnV3p6r7YaPFBtW1dbsfyypr60ZVgfpLf1BffFWhHXuP3sVpk5ThS1J2erK8KS6lJDmV4nYqOclR\nf92hblkelZVXKRSOKhSJKhSqvwxHFQxFVB2MqLo2rJra8NfXgxGFwlFFLUuWZSlqSVbUir2fZ7fV\n7YZ0OR1yOez11+1y1l/GpjmOMb3+JzM9VTU1QUUiloKhiGpDEQXrcwVDUQXDdZd10+un1c+LWlZs\nOQ27Xd0N1511110uR91l/W2n065IxFK4/vmHwtGvrx92Ga6/lM2m6pqwbNIxlulQktuhZHfd9k5u\nuO52KsntkMNuk8Nhr7ts+DnObXv9Je83dm4UEoyXkuRUSpJTvbOPLs1o1JK/OqTyQK0q/MH6wgrG\ndgdu33tIVhucuSnJ5ZDbVff+mifZKZvNJputbkRkqz9Qw6a6EWc4Go29uFfVhhWprhtthiPRNsly\nJJut7kAWZ32p2Ww21YYiCtSEFA7XjXLbkt0mOZ322GgwHKl7fh2l4cAYm61uj4JNdYXV8PtwOGyS\npdjvpT1YJ/CLtFT3dxqNWnrxl5e1S57OwphCOmtQtoqKzDyTQU6Oz9hsktn5Ep0tEo2qJjbSiag6\nGFZ1bUQ1wbDcSS5VVwePGp00jHBSk5xKSXLI7XK02a64SLRh9GHVj0QijUch9T8pniSVlAbkdNSP\nbhoK0Vl36XY55K6/3tyuScuyGq0vGI4q2HA99PXox2m31Y3aGkZvR1w2jOTsdttRv9e6dUTrR3F1\ny64JNvyEY9era8OqDUYUjlqK1Bd3NGopctjtiGXVXUYtRSLR+nn1I9KopWj9+qLR+sv69yYbRqx2\nu02hcFRWtG7eifzq6v5b0eI7t1isKHFcxhQS0B4cdrs8yXZ5kl1HzUtEWTrsdjnczb+31ZbZbDab\nXE5b/bcxt88/+bp1OORyOuRJbpdVtFii/xOE+NmsExl7AgDQTviQBwDACBQSAMAIFBIAwAgUEgDA\nCBQSAMAIFBIAwAgUEgDACHEXUiQS0d13363p06crPz9f27ZtazT/7bff1uTJkzVt2jStWLGi1UEB\nAJ1b3IX0zjvvSJJefPFF3XzzzXr44Ydj80KhkO6//379/ve/17PPPquXXnpJxcXFrU8LAOi04i6k\niy++WPfdd58k6auvvlJa2tdflbBjxw7l5uYqPT1dbrdbI0aM0OrVq1ufFgDQabXqxFZOp1N33nmn\n3nzzTf32t7+NTff7/fL5fLHbHo9Hfr//uMuyLItTywNAvXA4ImcX+xLKVp9pccmSJbrttts0depU\nvfbaa0pNTZXX61UgEIjdJxAINCqopthsNmNPiGj6yRpNzke2+JicTTI7n+nZWqqsrPkvtjwZHW8b\nxL3L7i9/+Ysef/xxSVJKSopsNpvs9rrF5eXlqbCwUOXl5QoGg1qzZo3OPffceFcFAOgC4h4hffe7\n39Xdd9+tmTNnKhwOa/78+XrzzTdVVVWladOm6a677tLcuXNlWZYmT56sHj16tGVuAEAnE3chpaam\n6je/+c0x548dO1Zjx46Nd/EAgC6GD8YCAIxAIQEAjEAhAQCMQCEBAIxAIQEAjEAhAeg09uzZrcsv\nv7xD1vX73y/Xj388W9deO0ebNxd0yDo7u1afqQEATPDGG6/p5ZdfVGlpabuva+vWLVq/fp2WL39G\nBw4c0M9+doeefPK/2329nR2FBHRRr7/+qv75z3dVVVWl8vJyXX31/9FFF43TJ5+s1fLly+RwONS7\ndx/dccdPVVtbowceWCS/v1LFxUWaPXuWxo+/XNdf/3+VmZmliooK3XrrHbr//l/I4XAqGo3qnnsW\nqUePnlq69GFt3LhekjR+/CWaOjVfv/zlQrlcLu3fv08lJcWaP3+hTj31NE2ePFH9+w/QgAEDdeON\nt8ay3nHHzaqq+vpUOgMGnKLbbrur0fPx+dL0u98tV37+D2LT/v3vf+nzz7dp1qz/iE3bt+8rLVhw\nl7p166aiooP61re+rWuuua7Rsppb38aN63XeeSNls9nUs2dPRSJhlZWVKTMzs3W/lC6OQgK6sOrq\naj388CMqLy/Tj3/8I33nO6O1ZMkv9eijTyozM0tPPPGoXn/9VZ166um6+OLvavTosSouLtJNN12r\n8ePrdo1dfPEEjR49Rq+8skKnn36mfvKTm7RhwycKBPz64IN/at++r7R8+dOKRCKaN2+uRow4T5LU\ns2cv3XHHT7Vq1Z+1atWfdPvt83Xw4AH9/vfPKT09o1HOX/3q/zX7XM4//4Kjpo0c+W2NHPnto6bv\n3/+VHnpoqTwer37yk/+jrVu36NRTT2vx+gIBf6OMqakeBQJ+CqmVKCSgCxs2bLjsdruysrrJ50tT\ncXGRSkqKtWBB3WigtrZW5533LY0adb5WrPij/vGPd5Sa6lE4HI4tIze3vyRp4sRJev75Z3TrrTfI\n4/HqmmuuU2HhTp1zzjDZbDY5nU6deeZZ2rXrC0nS4MGnSpK6d++hTz/dIElKT884qoyklo2QTkRe\n3hClpaVLks44Y6i+/HJXo0Jqbn0ej1dVVV+fQLqqKiCvt+UnTkXTKCSgC9u6dYskqbS0RIFAQDk5\n3dW9e3c98MBD8nq9ev/9fyglJVUvvvichg49Wz/4wZVat26NPv74X7FlNJxU+f33/6FzzjlXc+b8\nX7355ht6/vlnNHr0WL3++ipNm1Z3zsuCgo363vcmSvpXk18307CsI7VkhHQiCgt3qqamRi6XS5s3\nF+jSSxsfCNHc+s466xw9+uhvlZ8/SwcPHlQ0aikj4+gixYmhkIAurLS0RDfdNE9+v1+33nqnHA6H\nbrrpNt1++02yLEupqR4tWHCvbDabHn74V/rf//27vF6vHA6HgsFgo2WddtoZWrToHj3zzFOKRqO6\n4Yb/1KmnnqZPPlmra665WqFQSGPHXtxoJNLemnoPSZJcLpcWLLhTpaWluuiicRo8eMgJLfe0007X\n2WcP0zXXXC3LsvSf/3lnG6buumyWZVmJDtHA5O8wMTWbZHY+ssWnI7K9/vqrKizcpXnzbjjhx54s\n266srFSvvvoXzZ49JzZ/376vdM8987V8+dMJydZSpm7f1mqX70MCANNZlqX8/FmJjoEWYpcd0EUd\n+b5JZ5SV1e2oab169U7I6AjNY4QEADAChQQAMAKFBAAwAoUEADAChQQAMAKFBAAwAoUEADAChQQA\nMAKFBAAwAoUEADAChQQAMAKFBAAwAoUEADAChQQAMAKFBAAwAoUEADBCXF/QFwqFNH/+fO3du1fB\nYFDz5s3TuHHjYvOffvppvfzyy8rKypIk3XvvvTrllFPaJjEAoFOKq5BWrVqljIwMPfjggyovL9f3\nv//9RoVUUFCgJUuWaOjQoW0WFADQucVVSJdccokmTJggqe476x0OR6P5mzZt0vLly1VUVKSLLrpI\n11xzTeuTAgA6NZtlWVa8D/b7/Zo3b56mTp2qyy+/PDb9d7/7nWbMmCGv16vrr79e+fn5GjNmTJsE\nBoCuIByOyOl0NH/HTiTuQtq3b5+uu+46zZgxQ1deeWVsumVZ8vv98vl8kqTnn39e5eXluu6665pd\nZlFRZTxR2l1Ojs/YbJLZ+cgWH5OzSWbnMz1bS5n6HFrreNsgrqPsiouLNWfOHN1+++2NykiqGzVN\nnDhRgUBAlmXpo48+4r0kAECz4noP6bHHHlNFRYWWLVumZcuWSZKmTJmi6upqTZs2Tbfccotmz54t\nt9utUaNGafTo0W0aGgDQ+bTqPaS2ZuoQ1eRdAJLZ+cgWH5OzSWbnMz1bS5n6HFqrzXfZAQDQ1igk\nAIARKCQAgBEoJACAESgkAIARKCQAgBEoJACAESgkAIARKCQAgBEoJACAESgkAIARKCQAgBEoJACA\nESgkAIARKCQAgBEoJACAESgkAIARKCQAgBEoJACAESgkAIARKCQAgBEoJACAESgkAIARKCQAgBEo\nJACAESgkAIARKCQAgBEoJACAESgkAIARKCQAgBEoJACAEZzxPCgUCmn+/Pnau3evgsGg5s2bp3Hj\nxsXmv/3223rkkUfkdDo1efJkTZ06tc0CAwA6p7gKadWqVcrIyNCDDz6o8vJyff/7348VUigU0v33\n36+VK1cqJSVF+fn5Gjt2rLKzs9s0OACgc4lrl90ll1yim266SZJkWZYcDkds3o4dO5Sbm6v09HS5\n3W6NGDFCq1evbpu0AIBOK64RksfjkST5/X7deOONuvnmm2Pz/H6/fD5fo/v6/f4WLTcnx9f8nRLE\n5GyS2fnIFh+Ts0lm5zM5W0tlZqbK6XQ0f8dOJK5CkqR9+/bpuuuu04wZM3T55ZfHpnu9XgUCgdjt\nQCDQqKCOp6ioMt447Sonx2dsNsnsfGSLj8nZJLPzmZ6tpcrKqtoxSeIcbxvEtcuuuLhYc+bM0e23\n364rr7yy0by8vDwVFhaqvLxcwWBQa9as0bnnnhvPagAAXUhcI6THHntMFRUVWrZsmZYtWyZJmjJl\niqqrqzVt2jTdddddmjt3rizL0uTJk9WjR482DQ0A6HxslmVZiQ7RwORhtqnZJLPzkS0+JmeTzM5n\neraWMvU5tFab77IDAKCtUUgAACNQSAAAI1BIAAAjUEgAACNQSAAAI1BIAAAjUEgAACNQSAAAI1BI\nAAAjUEgAACNQSAAAI1BIAAAjUEgAACNQSAAAI1BIAAAjUEgAACNQSAAAI1BIAAAjUEgAACNQSAAA\nI1BIAAAjUEgAACNQSAAAI1BIAAAjUEgAACNQSAAAI1BIAAAjUEgAACNQSAAAI1BIAAAjtKqQNmzY\noFmzZh01/emnn9Zll12mWbNmadasWfriiy9asxoAQBfgjPeBTzzxhFatWqWUlJSj5hUUFGjJkiUa\nOnRoq8IBALqOuEdIubm5Wrp0aZPzNm3apOXLlys/P1+PP/543OEAAF1H3COkCRMmaM+ePU3Ou+yy\nyzRjxgx5vV5df/31eueddzRmzJhml5mT44s3TrszOZtkdj6yxcfkbJLZ+UzO1lKZmalyOh2JjtGh\n4i6kY7EsSz/60Y/k89X9QYwePVqbN29uUSEVFVW2dZw2kZPjMzabZHY+ssXH5GyS2flMz9ZSZWVV\n7ZgkcY63Ddr8KDu/36+JEycqEAjIsix99NFHvJcEAGhWm42QXn31VVVVVWnatGm65ZZbNHv2bLnd\nbo0aNUqjR49uq9UAADopm2VZVqJDNDB5mG1qNsnsfGSLj8nZJLPzmZ6tpUx9Dq3VobvsAACIB4UE\nADAChQQAMAKFBAAwAoUEADAChQQAMAKFBAAwAoUEADAChQQAMAKFBAAwAoUEADAChQQAMAKFBAAw\nAoUEADAChQQAMAKFBAAwAoUEADAChQQAMAKFBAAwAoUEADAChQQAMAKFBAAwAoUEADAChQQAMAKF\nBAAwAoUEADAChQQAMAKFBAAwAoUEADAChQQAMAKFBAAGK/fXyrKsRMfoEDarFc90w4YN+vWvf61n\nn3220fS3335bjzzyiJxOpyZPnqypU6c2u6yDpVXxxgCAk0L3rNQW37eoqFI791XovmfW6McTz9Co\noT3bMVnHycnxHXOeM96FPvHEE1q1apVSUlIaTQ+FQrr//vu1cuVKpaSkKD8/X2PHjlV2dna8qwKA\nLikUjkqSdhf5NSrBWTpC3LvscnNztXTp0qOm79ixQ7m5uUpPT5fb7daIESO0evXqVoUEgK6ob45X\nkrSnyJ/gJB0j7hHShAkTtGfPnqOm+/1++XxfD8k8Ho/8/q6xMQGgrWRmpiolVDdCcrucx93V1VnE\nXUjH4vV6FQgEYrcDgUCjggIANK+srErbdpdLknpkJKuoqDLBidrG8Yq1zY+yy8vLU2FhocrLyxUM\nBrVmzRqde+65bb0aAOj0qmvDkiRviivBSTpGm42QXn31VVVVVWnatGm66667NHfuXFmWpcmTJ6tH\njx5ttRoA6DKi9QdB2+22BCfpGK067Lstcdg3gM7uRA/7/uTzIi195VNNGztIE76Z247JOk6H7rID\nACAeFBIAwAgUEgDACBQSAMAIFBIAwAgUEgDACBQSAMAIFBIAwAgUEgDACBQSAMAIFBIAwAgUEgDA\n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\nxG5HFI6032ECLqddLoe97rL+J93jVoYvSWmpbiW763bnpXvd+tbpPZpdXlyF5Pf75fV+PfRyOBwK\nh8NyOp3y+/3y+b5+08rj8cjv9ze7zLPyuh1RCKfWX06ITTnWe0bsUgPQ2WRmpsrpdOjTwjI99z9b\nVFTe9IENh3M77Uqqfw8o3etWkssRu51UXw5JboeSXHXX3S673C6H3E67XE6H3K6vL91Oh1wNl876\n+9Xfdrvscjrsstla/77R4eIqJK/Xq0Dg60MNo9GonE5nk/MCgUCjgjqWlpQGxQKgqygrq1LxoWr9\n5sVPFLWkMwdkqlv94dvd0pPVLa1ul1uS26mk+mKxt3FBNBKJKByJKKyQWnNMdJsfZTd8+HC98847\nuvTSS7V+/XoNGTIkNi8vL0+FhYUqLy9Xamqq1qxZo7lz58azGgDo0sIRS3a7XbPGD9boYX0SHafd\nxfU5pIaj7LZt2ybLsrR48WJt3rxZVVVVmjZtWuwoO8uyNHnyZM2cObNFy2047t40OTk+Y7NJZucj\nW3xMziaZnc/0bC3V8BzCkaicDjM/yBqPNh8h2e12/eIXv2g0LS8vL3Z97NixGjt2bDyLBgAcpjOV\nUXO6zjMFABiNQgIAGIFCAgAYgUICABiBQgIAGIFCAgAYgUICABiBQgIAGIFCAgAYgUICABiBQgIA\nGIFCAgAYgUICABiBQgIAGIFCAgAYgUICABiBQgIAGIFCAgAYgUICABiBQgIAGIFCAgAYgUICABiB\nQgIAGIFCAgAYgUICABiBQgIAGIFCAgAYgUICABiBQgIAGIFCAgAYgUICABjBGc+DampqdPvtt6uk\npEQej0dLlixRVlZWo/ssWrRI69atk8fjkSQtW7ZMPp+v9YkBAJ1SXIX0wgsvaMiQIbrhhhv02muv\nadmyZfrZz37W6D6bNm3Sk08+eVRRAQDQlLh22a1du1YXXHCBJOnCCy/Uhx9+2Gh+NBpVYWGhfv7z\nn2v69OlauXJl65MCADq1ZkdIL7/8sp555plG07p16xbb/ebxeFRZWdloflVVla666ipdffXVikQi\nmj17toYOHarTTjvtuOvKyTF3l57J2SSz85EtPiZnk8zOZ3K2lsrMTJXT6Uh0jA7VbCFNmTJFU6ZM\naTTt+uuvVyAQkCQFAgGlpaU1mp+SkqLZs2crJSVFkjRy5Eht2bKl2UIqKqo87vxEycnxGZtNMjsf\n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\n/wdYrFBkPRw3pQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6ef86f50b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# let's look at how transformed Fare looks like compared to the original variable\n",
    "\n",
    "\n",
    "sns.jointplot(X_train.Fare, X_train_scaled[:,2], kind='kde', xlim=(0,200), ylim=(-1,3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "As we can see from the above plot, MinMaxScaler is very sensitive to the presence of outliers. It compressed all inliers in the narrow range [0, 0.01] limiting the spread of the variable, and therefore, very likely it would affect the predictive power of this feature."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  },
  "toc": {
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": "block",
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
